package com.wfs.demo;

import java.util.Random;
import java.util.Scanner;

/**
 * 开发一个验证码：可以生成指定位数的验证码，每位可以是数字、大小写字母
 */
public class Demo3 {
    public static void main(String[] args) {
        System.out.println("请指定验证码位数！");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(getVerifyCode(n));
    }
/**
 * 生成指定长度的验证码
 * @param n 验证码的长度
 * @return 生成的验证码字符串
 */
    public static String getVerifyCode(int n) {
        String code = ""; // 用于存储生成的验证码
        for (int i = 0; i < n; i++) { // 循环n次，生成n位验证码
            Random r = new Random(); // 创建随机数生成器
            int index = r.nextInt(62);// 随机生成0到61范围的数字，共62个 10(0-9)+26(A-Z)+26(a-z)
            if (index < 10) {// 数字
                code += (char)(index + 48);
            } else if (index < 36) {// 大写字母
                code += (char)(index - 10 + 65);
            } else {// 小写字母
                code += (char)(index -10 - 26 + 97);
            }
        }
        return code;
    }
}
